#功能：对比2个文件，指定列，比较两个文件两列的数据差异，不关心数据是不是同一行
import pandas as pd

# excel1 = 'testExcel\\test2.xls'
# excel2 = 'testExcel\\test1.xls'

excel1 = 'testExcel\\责任原因编码.xlsx'
excel2 = 'testExcel\\ids.xls'

df1=pd.read_excel(excel1,dtype=str)
df2=pd.read_excel(excel2,dtype=str)

#第一个文件的第一列数据
df1_l1 = df1.iloc[:, 0]
#第一个文件的第二列数据
# df1_l2 = df1.iloc[:, 1]

#第二个文件的第一列数据
df2_l1 = df2.iloc[:, 0]
#第二个文件的第二列数据
# df2_l2 = df2.iloc[:, 1]

# print(df1_l1)
# print(df1_l2)
df1keyset = set()
df1valueset = set()
df2keyset = set()
df2valueset = set()


for key in df1_l1:
    df1keyset.add(key)

# for value in df1_l2:
#     df1valueset.add(value)

for key in df2_l1:
    df2keyset.add(key)

# for value in df2_l2:
#     df2valueset.add(value)

# print(df1keyset)

#第一个文件比第二个文件多的部分
df1_dif = df1keyset.difference(df2keyset)

#第二个文件比第一个文件多的部分
df2_dif = df2keyset.difference(df1keyset)


c={"dif" : list(df1_dif)}#将列表a，b转换成字典

data=pd.DataFrame(c)#将字典转换成为数据框
# print(data)


writer = pd.ExcelWriter("testExcel\\compare2excel2.xls")
#index=True会多出一列
data.to_excel(writer,index=False)
writer.save()

